package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 采购订单对象 biz_purchase_order
 * 
 * @author ruoyi
 * @date 2025-10-20
 */
public class BizPurchaseOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单ID */
    @Excel(name = "订单ID")
    private Long orderId;

    /** 采购订单编号 */
    @Excel(name = "采购订单编号")
    private String orderNo;

    /** 供货商编码 */
    @Excel(name = "供货商编码")
    private String supplierCode;

    /** 采购时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "采购时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date purchaseDate;

    /** 采购人 */
    @Excel(name = "采购人")
    private String purchaser;

    /** 交货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "交货时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date deliveryDate;

    /** 订单总数量 */
    @Excel(name = "订单总数量")
    private BigDecimal totalQuantity;

    /** 总已打码数量 */
    @Excel(name = "总已打码数量")
    private BigDecimal totalBarcoded;

    /** 总未打码数量 */
    @Excel(name = "总未打码数量")
    private BigDecimal totalUnbarcoded;

    /** 总已入库数量 */
    @Excel(name = "总已入库数量")
    private BigDecimal totalPutaway;

    /** 状态 */
    private String orderStatus;

    /** 创建人 */
    private String createdBy;

    /** 创建时间 */
    private Date createdTime;

    /** 更新人 */
    private String updatedBy;

    /** 更新时间 */
    private Date updatedTime;

    /** 删除标志（0存在 1删除） */
    private String delFlag;

    /** 采购订单明细信息 */
    private List<BizPurchaseOrderItem> bizPurchaseOrderItemList;

    public void setOrderId(Long orderId) 
    {
        this.orderId = orderId;
    }

    public Long getOrderId() 
    {
        return orderId;
    }

    public void setOrderNo(String orderNo) 
    {
        this.orderNo = orderNo;
    }

    public String getOrderNo() 
    {
        return orderNo;
    }

    public void setSupplierCode(String supplierCode) 
    {
        this.supplierCode = supplierCode;
    }

    public String getSupplierCode() 
    {
        return supplierCode;
    }

    public void setPurchaseDate(Date purchaseDate) 
    {
        this.purchaseDate = purchaseDate;
    }

    public Date getPurchaseDate() 
    {
        return purchaseDate;
    }

    public void setPurchaser(String purchaser) 
    {
        this.purchaser = purchaser;
    }

    public String getPurchaser() 
    {
        return purchaser;
    }

    public void setDeliveryDate(Date deliveryDate) 
    {
        this.deliveryDate = deliveryDate;
    }

    public Date getDeliveryDate() 
    {
        return deliveryDate;
    }

    public void setTotalQuantity(BigDecimal totalQuantity) 
    {
        this.totalQuantity = totalQuantity;
    }

    public BigDecimal getTotalQuantity() 
    {
        return totalQuantity;
    }

    public void setTotalBarcoded(BigDecimal totalBarcoded) 
    {
        this.totalBarcoded = totalBarcoded;
    }

    public BigDecimal getTotalBarcoded() 
    {
        return totalBarcoded;
    }

    public void setTotalUnbarcoded(BigDecimal totalUnbarcoded) 
    {
        this.totalUnbarcoded = totalUnbarcoded;
    }

    public BigDecimal getTotalUnbarcoded() 
    {
        return totalUnbarcoded;
    }

    public void setTotalPutaway(BigDecimal totalPutaway) 
    {
        this.totalPutaway = totalPutaway;
    }

    public BigDecimal getTotalPutaway() 
    {
        return totalPutaway;
    }

    public void setOrderStatus(String orderStatus) 
    {
        this.orderStatus = orderStatus;
    }

    public String getOrderStatus() 
    {
        return orderStatus;
    }

    public void setCreatedBy(String createdBy) 
    {
        this.createdBy = createdBy;
    }

    public String getCreatedBy() 
    {
        return createdBy;
    }

    public void setCreatedTime(Date createdTime) 
    {
        this.createdTime = createdTime;
    }

    public Date getCreatedTime() 
    {
        return createdTime;
    }

    public void setUpdatedBy(String updatedBy) 
    {
        this.updatedBy = updatedBy;
    }

    public String getUpdatedBy() 
    {
        return updatedBy;
    }

    public void setUpdatedTime(Date updatedTime) 
    {
        this.updatedTime = updatedTime;
    }

    public Date getUpdatedTime() 
    {
        return updatedTime;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    public List<BizPurchaseOrderItem> getBizPurchaseOrderItemList()
    {
        return bizPurchaseOrderItemList;
    }

    public void setBizPurchaseOrderItemList(List<BizPurchaseOrderItem> bizPurchaseOrderItemList)
    {
        this.bizPurchaseOrderItemList = bizPurchaseOrderItemList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("orderId", getOrderId())
            .append("orderNo", getOrderNo())
            .append("supplierCode", getSupplierCode())
            .append("purchaseDate", getPurchaseDate())
            .append("purchaser", getPurchaser())
            .append("deliveryDate", getDeliveryDate())
            .append("totalQuantity", getTotalQuantity())
            .append("totalBarcoded", getTotalBarcoded())
            .append("totalUnbarcoded", getTotalUnbarcoded())
            .append("totalPutaway", getTotalPutaway())
            .append("orderStatus", getOrderStatus())
            .append("createdBy", getCreatedBy())
            .append("createdTime", getCreatedTime())
            .append("updatedBy", getUpdatedBy())
            .append("updatedTime", getUpdatedTime())
            .append("remark", getRemark())
            .append("delFlag", getDelFlag())
            .append("bizPurchaseOrderItemList", getBizPurchaseOrderItemList())
            .toString();
    }
}
